In order to effectively market products and services to consumers both on and off the World Wide Web (the “Web” or “WWW”), it is necessary to collect accurate and relevant information from Web users. One way that Web sites have traditionally collected such information is through the use of Web forms. Web forms are markup language documents containing input fields that a user may fill in with data. For instance, a Web form may include text input boxes in which a user may type text data, radio buttons or check boxes that a user may select to identify a particular item, or drop-down menus that provide a list of items that a user may select from. Once the user has made their entries on the Web form, the user may submit the data contained in the completed fields to a host computer for storage and processing. Web forms provide a convenient interface for computer users to provide all kinds of data and are therefore utilized frequently by Web programmers.
Although Web forms are often easy to use from a user perspective, Web forms can be difficult for Web programmers to deploy and maintain. In particular, it is often difficult and time consuming to deploy a new Web form or to add additional fields to an existing Web form. This is generally the result of the software architecture utilized in prior art systems for implementing Web forms. In these systems, the field names utilized to identify the fields within a Web form are ‘hard-coded’ into the application that handles the forms. Similarly, the names of the database tables and database fields for storing form data are also hard-wired into the application. Because the form field names and database field names are hard-coded into the application, the application code must be modified each time a new form is added or an existing form is modified. This process can be time consuming for an experienced Web programmer and virtually impossible for a non-programmer Web designer.
Therefore, in light of the above, there is a need for a method, system, and apparatus for presenting forms and publishing form data that does not require application code to be rewritten or modified in order to add fields to an existing form. There is a further need for a method, system, and apparatus for presenting forms and publishing form data that does not require application code to be written in order to add a new form to an existing Web application.